Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Quest]Banowanie Gracza Wprost Z Gry!


xDeStRuCtx

Rekomendowane odpowiedzi

Opublikowano

@UP

literówka w skrypcie, poprawiłem unban, co do banowania czasowego pisałem przed chwilą i być może nie działa, nie mam gdzie sprawdzić. Zobacz w bazie, czy w availDT na pewno jest taki format jak podałem.

 

polacz questa na bananowanie z questem na banowanie czasowe

tak aby byl wybor banowania

i dodaj wersje do itemu

i dodaj questa zeby kazdemu gm sie taki item dodawal po zalogowaniu

 

 

quest ban begin
state start begin
when login with pc.is_gm() and pc.getqf("item")==0 begin
pc.setqf("item", 1)
pc.give_item2(iditemu)
end
when iditemu.use with pc.is_gm() begin
local s=select("4ever", "na czas")
if s==1 then
say("Wpisz nick:")
local nick=input()
wykonaj("php /usr/local/www/apache22/data/ban4ever.php "..nick.."")
elseif s==2 then
say("Wpisz nick:")
local nick=input()
say("Czas: Format: yyyy-mm-dd hh:mm:ss ")
local czas=input()
wykonaj("php /usr/local/www/apache22/data/banczas.php "..nick.." "..czas.."")
end
end
end
end


 

Opublikowano

@UP

literówka w skrypcie, poprawiłem unban, co do banowania czasowego pisałem przed chwilą i być może nie działa, nie mam gdzie sprawdzić. Zobacz w bazie, czy w availDT na pewno jest taki format jak podałem.

 

 

 

 

quest ban begin
state start begin
when login with pc.is_gm() and pc.getqf("item")==0 begin
pc.setqf("item", 1)
pc.give_item2(iditemu)
end
when iditemu.use with pc.is_gm() begin
local s=select("4ever", "na czas")
if s==1 then
say("Wpisz nick:")
local nick=input()
wykonaj("php /usr/local/www/apache22/data/ban4ever.php "..nick.."")
elseif s==2 then
say("Wpisz nick:")
local nick=input()
say("Czas: Format: yyyy-mm-dd hh:mm:ss ")
local czas=input()
wykonaj("php /usr/local/www/apache22/data/banczas.php "..nick.." "..czas.."")
end
end
end
end

A jeśli przez przypadek wyrzucimy/sellniemy dany item? Praktyczniejsze byłoby coś w ten deseń

http://wklej.to/PRVuH

Opublikowano

@Asparte

Twój quest nie zadziała.

2 with`y w jednym whenie przy sobie - nein ;x Musi być 'and'

quest ban begin
state start begin
when login with pc.is_gm() and pc.countitem("item")==0 begin
pc.give_item2(iditemu)
end
when iditemu.use with pc.is_gm() begin
local s=select("4ever", "na czas")
if s==1 then
say("Wpisz nick:")
local nick=input()
wykonaj("php /usr/local/www/apache22/data/ban4ever.php "..nick.."")
elseif s==2 then
say("Wpisz nick:")
local nick=input()
say("Czas: Format: yyyy-mm-dd hh:mm:ss ")
local czas=input()
wykonaj("php /usr/local/www/apache22/data/banczas.php "..nick.." "..czas.."")
end
end
end
end



 

Opublikowano

@UP

do rankingu graczy potrzebne jest zwracanie wartości do questa, więc LUASQL, a nie os.execute()

 

co do robienia itemów, to nie rozumiem? ;x


 

Opublikowano

@2UP

Tak, dlaczego nie? Bardzo łatwe, do questa i funkcji dopisać lokalną (inputa) i w skrypcie php dodać :

1. jako jedna lokalna nick banującego, a jako druga lokalna powód

$powod_query = "INSERT INTO account.powod SET nick = '".$argv[1]."', nick_banujacego = '".$argv[3]."', powod = '".$argv[2]."'; "
$powod = mysql_quer($powod_query)

 

jako pierwszy argument w funkcji wykonaj() ma być nick, drugi czas, trzeci nick banowanego, czwarty powod


 

Opublikowano

Ja mam tak:

 

w banczas.php dodaj na koncu:

 

$ban_query2 = "UPDATE account.account SET `channel_company` = '".$argv[4]."' WHERE `id` = '$id'";
$go_ban2 = mysql_query($ban_query2);

 

a w quescie na czasowy ban dodaj po czasie:

 

say("Powód blokady:")
local powod=input()

 

nastepnie edytuj polecenie na:

 

wykonaj("php /usr/local/www/apache22/data/banczas.php "..nick.." "..czas.." "..powod.."")

.

 

 

Tak samo analogicznie do bana permanentnego.

Zrobiłem tak jak pisałeś i teraz banowanie nie działa ; d (nie banuje gracza)

11573538277329494069.gif

Opublikowano

Zrobiłem tak jak pisałeś i teraz banowanie nie działa ; d (nie banuje gracza)

 

Na pewno wszystko tak samo dodales? Bo ja mam IDENTYCZNIE i śmiga pięknie. Pamiętaj, że to było do bana CZASOWEGO a nie permanentnego.

Opublikowano

Dałem do bana 4ever ; d Ale edytowałem to i wygląda to tak:

php:

 

<?php

$db = mysql_connect('ip', 'login', 'haslo'); 
$query = "SELECT `account_id` FROM player.player WHERE `name` = '".$argv[1]."' LIMIT 1"; //Szukanie loginu po nicku podanym w quescie
$idz = mysql_query($query); // wykonujemy zapytanie
$tablica = mysql_fetch_array($idz); // zczytujemy tablice
$id = $tablica[0]; //przypisanie do zmiennej loginu czitera

$ban = "UPDATE account.account SET `status` = 'BLOCK' WHERE `id` = '$id'"; // zapytanie o zmiana statusu naszego chetera o wyżej wymienionym id.
$go_ban = mysql_query($ban); 
?>
$ban_query2 = "UPDATE account.account SET `channel_company` = '".$argv[4]."' WHERE `id` = '$id'";
$go_ban2 = mysql_query($ban_query2);

 

quest:

 

quest ban begin
state start begin
when 20095.chat."Banowanie gracza" with pc.is_gm() begin
say("Wpisz nick gracza:")
local nick=input()
say("Powód blokady, wpisz również swój nick, czyli")
say("nick postaci, którą banujesz... w innym przypadku")
say("ban zostanie odrzucony")
local powod=input()
wykonaj("php /usr/local/www/apache22/data/ban4ever.php "..nick.." "..powod.."")
say("Gracz został zbanowany")
end
end
end

11573538277329494069.gif

Opublikowano

2010sf mam taką tabelkę w account ; d

@EDIT

Dodałem nowe tabele w mysql w kodzie php również pozmieniałem wszystko jak należy wygląda on teraz tak:

<?php

$db = mysql_connect('ip', 'login', 'haslo'); 
$query = "SELECT `account_id` FROM player.player WHERE `name` = '".$argv[1]."' LIMIT 1"; //Szukanie loginu po nicku podanym w quescie
$idz = mysql_query($query); // wykonujemy zapytanie
$tablica = mysql_fetch_array($idz); // zczytujemy tablice
$id = $tablica[0]; //przypisanie do zmiennej loginu czitera

$ban = "UPDATE account.account SET `status` = 'BLOCK' WHERE `id` = '$id'"; // zapytanie o zmiana statusu naszego chetera o wyżej wymienionym id.
$go_ban = mysql_query($ban); 
?>
$ban_query2 = "UPDATE powody.ban_staly SET `powod` = '".$argv[4]."' WHERE `id` = '$id'";
$go_ban2 = mysql_query($ban_query2);

Banowanie działa mam na myśli, że w mysql w status jest na block jednak nie wysyła treśći wpisanej do powody < ban_staly < powod

 

 

 

No weź, że ktoś pomóż ; d

11573538277329494069.gif

Opublikowano

A nie powinno być przypadkiem tak ?

 

<?php

$db = mysql_connect('ip', 'login', 'haslo'); 
$query = "SELECT `account_id` FROM player.player WHERE `name` = '".$argv[1]."' LIMIT 1"; //Szukanie loginu po nicku podanym w quescie
$idz = mysql_query($query); // wykonujemy zapytanie
$tablica = mysql_fetch_array($idz); // zczytujemy tablice
$id = $tablica[0]; //przypisanie do zmiennej loginu czitera

$ban = "UPDATE account.account SET `status` = 'BLOCK' WHERE `id` = '$id'"; // zapytanie o zmiana statusu naszego chetera o wyżej wymienionym id.
$go_ban = mysql_query($ban); 
?>
$ban_query2 = "UPDATE powody.ban_staly SET `powod` = '".$argv[2]."' WHERE `id` = '$id'";
$go_ban2 = mysql_query($ban_query2);

Szukam grafików, questerów Metin2, koderów www, skrypterów, programistów visual c++, c++.
Techników od bazy danych, systemów linuksowych( głównie FreeBSD).

[email protected] - > Pisać - > Rozpatrzę propozycje :)

Opublikowano

A nie powinno być przypadkiem tak ?

 

<?php

$db = mysql_connect('ip', 'login', 'haslo'); 
$query = "SELECT `account_id` FROM player.player WHERE `name` = '".$argv[1]."' LIMIT 1"; //Szukanie loginu po nicku podanym w quescie
$idz = mysql_query($query); // wykonujemy zapytanie
$tablica = mysql_fetch_array($idz); // zczytujemy tablice
$id = $tablica[0]; //przypisanie do zmiennej loginu czitera

$ban = "UPDATE account.account SET `status` = 'BLOCK' WHERE `id` = '$id'"; // zapytanie o zmiana statusu naszego chetera o wyżej wymienionym id.
$go_ban = mysql_query($ban); 
?>
$ban_query2 = "UPDATE powody.ban_staly SET `powod` = '".$argv[2]."' WHERE `id` = '$id'";
$go_ban2 = mysql_query($ban_query2);

 

Adi, od kiedy po zakończeniu informacji dla interpretora php, że to skrypt w php znakiem

 

?>

 

po nim skrypt wykona coś dalej?

Opublikowano

@3up

<?php

$db = mysql_connect('ip', 'login', 'haslo'); 
$query = "SELECT `account_id` FROM player.player WHERE `name` = '".$argv[1]."' LIMIT 1"; //Szukanie loginu po nicku podanym w quescie
$idz = mysql_query($query); // wykonujemy zapytanie
$tablica = mysql_fetch_array($idz); // zczytujemy tablice
$id = $tablica[0]; //przypisanie do zmiennej loginu czitera

$ban = "UPDATE account.account SET `status` = 'BLOCK' WHERE `id` = '$id'"; // zapytanie o zmiana statusu naszego chetera o wyżej wymienionym id.
$go_ban = mysql_query($ban); 
$ban_query2 = "UPDATE powody.ban_staly SET `powod` = '".$argv[4]."' WHERE `id` = '$id'";
$go_ban2 = mysql_query($ban_query2);
?>

 

 


 

Opublikowano

@UP

Bo nie myślisz =.=

$ban_query2 = "UPDATE powody.ban_staly SET `powod` = '".$argv[4]."' WHERE `id` = '$id'";

 

Zmieni ci powód tam, gdzie login = nasz login, ale tylko wtedy, gdy taki powod już istnieje. Zrób tak:

 

Załóż bazę danych powody, w której znajdzie się tabelka ban_staly, a w niej kolumny:

powod, login i w skrypcie php zmień query na:

$ban_query2 = "INSERT INTO powody.ban_staly SET `powod` = '".$argv[4]."', `id` = '$id'";


 

Opublikowano

a ten skrypt php musi być wgrany do apache serwera czy może być gdzie indziej?

 

Pozdrawiam

@UP

Tak chyba tak zmień ścieżkę w php i w queście ; D Pokombinuj...

@EDIT

Kur** nadal nie działa ;/

Skrypt:

<?php

$db = mysql_connect('ip', 'login', 'haslo'); 
$query = "SELECT `account_id` FROM player.player WHERE `name` = '".$argv[1]."' LIMIT 1"; //Szukanie loginu po nicku podanym w quescie
$idz = mysql_query($query); // wykonujemy zapytanie
$tablica = mysql_fetch_array($idz); // zczytujemy tablice
$id = $tablica[0]; //przypisanie do zmiennej loginu czitera

$ban = "UPDATE account.account SET `status` = 'BLOCK' WHERE `id` = '$id'"; // zapytanie o zmiana statusu naszego chetera o wyżej wymienionym id.
$go_ban = mysql_query($ban); 
$ban_query2 = "INSERT INTO powody.ban_staly SET `powod` = '".$argv[4]."', `id` = '$id'";
$go_ban2 = mysql_query($ban_query2);
?>

Quest:

quest ban begin
state start begin
when 20095.chat."Banowanie gracza" with pc.is_gm() begin
say("Wpisz nick gracza:")
local nick=input()
say("Powód blokady, wpisz również swój nick, czyli")
say("nick postaci, którą banujesz... w innym przypadku")
say("ban zostanie odrzucony")
local powod=input()
wykonaj("php /usr/local/www/apache22/data/ban4ever.php "..nick.." "..powod.."")
say("Gracz został zbanowany")
end
end
end

SS'y z navi

http://img534.imageshack.us/i/44439688.gif/

http://img84.imageshack.us/i/24578488.gif/

11573538277329494069.gif

Opublikowano

@up

ja się nie dziwie, że Ci nie działa... Do skrpytu wysyłasz tablicę z 3 elementami

$argv[0] - nazwa questa

$argv[1] - nick

$argv[2] - powód

a próbujesz wprowadzić zawartość 'powód' z elementu $argv[4], który jest pusty... Props.

 

ps. oby więcej takich zajebistych pomysłów.

307681428489538142351.png

Metin2 Balmora Staff

  • 3 tygodnie później...
Opublikowano

ja mam problem z unban i ban otóż nie mam apache wgrane do serwera więc edytowałem quest i nie działa wogóle jak by go nie było a o to jak edytowałem questa ban

quest ban begin

state start begin

when 20095.chat."Ban 4ever" with pc.is_gm() begin

say("Wpisz nick:")

local nick=input()

wykonaj("5.177.211.14/ban4ever.php "..nick.."")

end

end

end

UNBAN

quest unban begin

state start begin

when 20095.chat."Unban" with pc.is_gm() begin

say("Wpisz nick:")

local nick=input()

wykonaj("5.177.211.14/unban.php "..nick.."")

end

end

end

pomoże ktoś?

Pomogłem ? Daj like nie bądź żyła !

rdlogin.png

 

Do NoT CoPy !!

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...